"""author: wenyao
   data: 2021/11/22
   project: cjh
"""

#导入两次，只执行一次
#第一导入的时候，就会将这个模块加载到内存空间
#下一次导入的时候，会查看内存空间有没有，有的话直接拷贝过来
# from pack01 import one
# from pack01 import one
#
# one.packtest()

#
# from pack01.one import packtest
# packtest()

#导入的名称一样，使用哪个
# from pack01.one import packtest
# from pack02.one import packtest
#
# packtest()

#起别名
# from pack01.one import packtest as pack01test
# from pack02.one import packtest
#
# pack01test()
# packtest()

# import pandas as pd


#
import string
# print(string.digits)
#
# from string import digits
# print(digits)

# from string import *
# print(digits)

# import  importlib
# st = importlib.import_module("string")
# print(st.digits)

#接受从接盘的输入，实现动态导入模块
#可以无限制导入，按q退出
#导入模块之后 输出相应的模块属性dir(),提示相应模块导入成功

# while True:
#     str1 = input("输入要导入的模块：")
#     if str1 == "Q":
#         break
#     st = importlib.import_module(str1)
#     print(f"{str1}导入成功！")
#     print(dir(str1))

#模块的查找
#import  requests
#
# import urllib
# import string

# import sys
# #查看当前这个程序里面已经加载好模块
# print(sys.modules)
#
# import string
# print("*"*30)
# print(sys.path)

#内置变量
#__name__
#当模块直接运行的时候，它的值就是 __main__
#当模块导入运行的时候，它的值就是模块的绝对路径

#绝对导入
#没有. 或者.. 的导入就是绝对导入
#绝对导入的路径就是从top-level 一层一层往下数
# from pack01.subpack01 import subpk01

#top-level
## 哪个模块作为主程序直接运行，那模块所在的目录就是top-level

#以下划线开头的变量或函数或类 是无法被模糊导入的
#双下划线开头和双下划线结尾的 都是python里的特殊标识符，有特殊含义
#不要使用双下划线开头和双下划线结尾的标识符

# from pack02.one import *

# print(a)
# print(_a)
# print(__a)

# from pack02 import one
#
# print(one.a)
# print(one._a)
# print(one.__a)

# from pack02 import one

# from pack02 import arg1
# print(arg1)

# from pack02 import  *


# print(__file__)
# import os
# import sys

# BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# sys.path.append(BASE_DIR)

import os

print(os.path.abspath("."))